package com.mianshi;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;

import java.util.ArrayList;
import java.util.List;

public class Solution {

    List<String> getAllValidTopicNames(JSONArray itemInfo, List<JSONObject> topicInfo) {
        List<String> result = new ArrayList<>();
        for (int i = 0; i < itemInfo.size(); i++) {
            JSONObject itemObj = itemInfo.getJSONObject(i);
            int itemStatus = itemObj.getIntValue("statue");
            if (itemStatus == 0) {
                continue;
            }
            String itemMetaId = itemObj.getString("meta_id");
            for (JSONObject topicObj : topicInfo) {
                int topicStatus = itemObj.getIntValue("statue");
                String topicMetaId = topicObj.getString("meta_id");
                if (topicStatus == 1 &&
                        topicMetaId != null && topicMetaId.equals(itemMetaId)) {
                    result.add(topicObj.getString("title"));
                }
            }
        }
        return result;

        // todo: 思路: 先遍历item, 对于每个item再遍历topic, 判断他俩的状态是否有效 和 meta_id是否相同
        // todo: o(n*m) 能优化, map  需要想一下, 再写一个出来


        // todo:  返回值就是所有的title对吗? 因为看到item是一个list,

        // todo:  topicInfo 题目中给的例子是 JSONObject, 为什么参数里却是 List<JSONObject> ?

    }

}
